package pin;

//import com.mysql.jdbc.ResultSet;
import com.twmacinta.util.MD5;
import eskuel.CMI_SQL;
import java.sql.ResultSet;

public class CodeCheck {

  public static boolean doe(String pincode) {
    System.out.println("--> pin.CodeCheck.doe <--");
    //controleren en zo...
    //Eerst ff zorgen dat de TrackInfo klopt
    pin.TrackInfo.Maak();
    if (pin.TrackInfo.banknummer.equals("24")) {
      System.out.println("Hoort bij Lucky Bank ;-) !!");
      //Hoeft niet ff naar Equens
      //Verbinding maken de DB
      CMI_SQL sql = new CMI_SQL(pin.Database.dbhost, pin.Database.dbname, pin.Database.dbpass);
      System.out.println("Database...");
      String sqlQuery = "SELECT `MD5_Code` FROM `b_pinpassen` WHERE `Pasnummer` = '" + pin.TrackInfo.pasnummer + "'"; //md5pincode ophalen, om te check of het goed was
      System.out.println(sqlQuery);
      ResultSet resultaat = sql.selectieQuery(sqlQuery);
      String md5UitDB = "";
      try {
        while (resultaat.next()) {
          md5UitDB = resultaat.getString("MD5_Code");
          System.out.println(md5UitDB);
        }
      } catch (Exception e) {
        System.out.println("Fout bij de DB. !!!!!!!!!!!!!!!!!!!");
      }
      // van de nu ingevulde code een MD5 maken
      MD5 md5 = new MD5();
      try {
        md5.Update(pincode, null);
      } catch (Exception e) {
        System.out.println("Het lukt niet om een MD5-code te maken...");
      }
      String hash = md5.asHex();
      //Vergelijken

      if (hash.equals(md5UitDB)) {
        return true;
      }
    } else {
      // HIJ RETURNT HIER FALSE, WANT PINCODES BIJ ANDERE BANKEN REKENT IE STANDAARD FOUT
      //VOORLOPIG, ZOLANG EQUENS NOG NIET WERKT.
      System.out.println("Er kan nog niet bij andere banken worden gepint");
      return false;
    }
    //nog een false returnen, anders krijg je een compilation error
    return false;
  }
}
